#include "SList.h"
#include"DList.h"


//int main()
//{
//    int arr[] = { 9,9,9,9,9,9,9,9,9,9 };
//    int returnSize = 0;
//    int* num = addToArrayForm(arr,sizeof(arr)/sizeof(arr[0]), 1, &returnSize);
//    int i = 0;
//    for (i = 0; i < returnSize; i++)
//    {
//        printf("%d ", num[i]);
//    }
//    return 0;
//}

void  SListTest1()
{
	SListNode* SL = NULL;
	SListPushBack(&SL, 1);
	SListPushBack(&SL, 2);
	SListPushBack(&SL, 3);
	SListPushBack(&SL, 4);
	//SListPushFront(&SL, 1);
	//SListPushFront(&SL, 2);
	//SListPushFront(&SL, 3);
	//SListPushFront(&SL, 4);
	//SListPopBack(&SL);
	//SListPopBack(&SL);
	//SListPopFront(&SL);
	//SListPopFront(&SL);
	//SListPopFront(&SL);
	//SListPopFront(&SL);
	SListNode* pos = SListFind(SL, 3);
	if (pos == NULL)
	{
		return;
	}
	SListInsertAfter(pos, 5);
	SListEraseAfter(pos);

	SListPrint(SL);
	SListDestroy(SL);
}

void  DListTest1()
{
	ListNode* phead= ListCreate();
	//ListPushBack(phead, 1);
	//ListPushBack(phead, 2);
	//ListPushBack(phead, 3);
	//ListPushBack(phead, 4);
	//ListPopBack(phead);
	//ListPopBack(phead);
	//ListPopBack(phead);
	//ListPopBack(phead);
	ListPushFront(phead, 1);
	ListPushFront(phead, 2);
	ListPushFront(phead, 3);
	ListPushFront(phead, 4);
	//ListPopFront(phead);
	//ListPopFront(phead);
	//ListPopFront(phead);

	ListNode* pos=ListFind(phead, 3);
	if (pos == NULL)
	{
		exit(-1);
	}
	ListInsert(pos, 5);
	ListErase(pos);

	ListPrint(phead);
	 ListDestory(phead);
}
int main()
{
	DListTest1();

	return 0;
}